/*
 * Copyright Red Hat, Inc. and/or its affiliates
 * and other contributors as indicated by the @author tags and
 * the COPYRIGHT.txt file distributed with this work.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.teiid.query;

import java.util.ResourceBundle;

import org.teiid.core.BundleUtil;

/**
 * QueryPlugin
 * <p>
 * Used here in <code>query</code> to have access to the new logging framework for <code>LogManager</code>.
 *
 */
public class QueryPlugin { // extends Plugin {

    /**
     * The plug-in identifier of this plugin
     */
    public static final String PLUGIN_ID = QueryPlugin.class.getPackage().getName();

    public static final BundleUtil Util = new BundleUtil(PLUGIN_ID,
                                                         PLUGIN_ID + ".i18n", ResourceBundle.getBundle(PLUGIN_ID + ".i18n")); //$NON-NLS-1$ //$NON-NLS-2$


    public static enum Event implements BundleUtil.Event{
        TEIID30001, // buffer manager max block exceeded
        TEIID30002, // error persisting buffer manager
        TEIID30003, // capability required
        TEIID30004, // zero size batch
        TEIID30005, // rollback failed
        TEIID30006, // invalid max active plans
        TEIID30008, // request not deterministic
        TEIID30009, // max threads exceeded
        TEIID30011, // dependent criteria over max
        TEIID30012, // mat row refresh
        TEIID30013, // mat table loading
        TEIID30014, // mat table loaded
        TEIID30015, //faild to load mat table
        TEIID30016, // error transfer
        TEIID30017, // error persisting batch in bm
        TEIID30018,
        TEIID30019, // process worker error
        TEIID30020, // process worker error
        TEIID30021, // uncaught exception during work
        TEIID30022, // error defrag
        TEIID30023, // error defrag truncate
        TEIID30024, // cancel request failed
        TEIID30025, // failed to restore results
        TEIID30026, // failed to cancel
        TEIID30027, // lob error
        TEIID30028, // failed to rollback
        TEIID30029, // unexpected format
        TEIID30030, // unexpected exp1
        TEIID30031, // unexpected exp2
        TEIID30032,
        TEIID30033,
        TEIID30034,
        TEIID30035,
        TEIID30036,
        TEIID30037,
        TEIID30038,
        TEIID30039,
        TEIID30040,
        TEIID30041,
        TEIID30042,
        TEIID30043,
        TEIID30044,
        TEIID30045,
        TEIID30046,
        TEIID30048,
        TEIID30049,
        TEIID30050,
        TEIID30051,
        TEIID30052,
        TEIID30053,
        TEIID30054,
        TEIID30055,
        TEIID30056,
        TEIID30057,
        TEIID30058,
        TEIID30059,
        TEIID30060,
        TEIID30061,
        TEIID30063,
        TEIID30064,
        TEIID30065,
        TEIID30066,
        TEIID30067,
        TEIID30068,
        TEIID30069,
        TEIID30070,
        TEIID30071,
        TEIID30072,
        TEIID30074,
        TEIID30075,
        TEIID30077,
        TEIID30079,
        TEIID30082,
        TEIID30083,
        TEIID30084,
        TEIID30085,
        TEIID30086,
        TEIID30087,
        TEIID30088,
        TEIID30089,
        TEIID30090,
        TEIID30091,
        TEIID30093,
        TEIID30094,
        TEIID30095,
        TEIID30096,
        TEIID30097,
        TEIID30098,
        TEIID30099,
        TEIID30100,
        TEIID30101,
        TEIID30102,
        TEIID30103,
        TEIID30114,
        TEIID30115,
        TEIID30116,
        TEIID30118,
        TEIID30121,
        TEIID30123,
        TEIID30124,
        TEIID30125,
        TEIID30126,
        TEIID30127,
        TEIID30128,
        TEIID30134,
        TEIID30135,
        TEIID30136,
        TEIID30137,
        TEIID30138,
        TEIID30139,
        TEIID30140,
        TEIID30141,
        TEIID30143,
        TEIID30144,
        TEIID30145,
        TEIID30146,
        TEIID30147,
        TEIID30148,
        TEIID30151,
        TEIID30152,
        TEIID30153,
        TEIID30154,
        TEIID30155,
        TEIID30156,
        TEIID30158,
        TEIID30159,
        TEIID30160,
        TEIID30161,
        TEIID30162,
        TEIID30163,
        TEIID30164,
        TEIID30165,
        TEIID30166,
        TEIID30167,
        TEIID30168,
        TEIID30169,
        TEIID30170,
        TEIID30171,
        TEIID30172,
        TEIID30174,
        TEIID30175,
        TEIID30176,
        TEIID30178,
        TEIID30179,
        TEIID30180,
        TEIID30181,
        TEIID30182,
        TEIID30183,
        TEIID30184,
        TEIID30187,
        TEIID30188,
        TEIID30190,
        TEIID30192,
        TEIID30193,
        TEIID30194,
        TEIID30195,
        TEIID30196,
        TEIID30197,
        TEIID30198,
        TEIID30199,
        TEIID30200,
        TEIID30201,
        TEIID30202,
        TEIID30203,
        TEIID30204,
        TEIID30205,
        TEIID30206,
        TEIID30207,
        TEIID30208,
        TEIID30209,
        TEIID30210,
        TEIID30212,
        TEIID30213,
        TEIID30217,
        TEIID30218,
        TEIID30219,
        TEIID30220,
        TEIID30221,
        TEIID30222,
        TEIID30223,
        TEIID30224,
        TEIID30225,
        TEIID30226,
        TEIID30227,
        TEIID30229,
        TEIID30230,
        TEIID30231,
        TEIID30232,
        TEIID30233,
        TEIID30234,
        TEIID30235,
        TEIID30236,
        TEIID30238,
        TEIID30239,
        TEIID30240,
        TEIID30241,
        TEIID30242,
        TEIID30244,
        TEIID30245,
        TEIID30247,
        TEIID30248,
        TEIID30249,
        TEIID30250,
        TEIID30251,
        TEIID30253,
        TEIID30254,
        TEIID30257,
        TEIID30258,
        TEIID30259,
        TEIID30263,
        TEIID30264,
        TEIID30265,
        TEIID30266,
        TEIID30267,
        TEIID30268,
        TEIID30269,
        TEIID30270,
        TEIID30271,
        TEIID30272,
        TEIID30273,
        TEIID30274,
        TEIID30275,
        TEIID30278,
        TEIID30311,
        TEIID30312,
        TEIID30314,
        TEIID30316,
        TEIID30323,
        TEIID30324,
        TEIID30326,
        TEIID30328,
        TEIID30329,
        TEIID30331,
        TEIID30333,
        TEIID30334,
        TEIID30335,
        TEIID30336,
        TEIID30338,
        TEIID30341,
        TEIID30342,
        TEIID30345,
        TEIID30347,
        TEIID30350,
        TEIID30351,
        TEIID30352,
        TEIID30353,
        TEIID30354,
        TEIID30355,
        TEIID30356,
        TEIID30357,
        TEIID30358,
        TEIID30359,
        TEIID30363,
        TEIID30364,
        TEIID30365,
        TEIID30366,
        TEIID30371,
        TEIID30372,
        TEIID30373,
        TEIID30375,
        TEIID30376,
        TEIID30377,
        TEIID30378,
        TEIID30381,
        TEIID30382,
        TEIID30384,
        TEIID30385,
        TEIID30386,
        TEIID30387,
        TEIID30388,
        TEIID30389,
        TEIID30390,
        TEIID30391,
        TEIID30392,
        TEIID30396,
        TEIID30398,
        TEIID30399,
        TEIID30400,
        TEIID30401,
        TEIID30402,
        TEIID30403,
        TEIID30404,
        TEIID30405,
        TEIID30407,
        TEIID30409,
        TEIID30410,
        TEIID30411,
        TEIID30412,
        TEIID30413,
        TEIID30416,
        TEIID30418,
        TEIID30419,
        TEIID30420,
        TEIID30421,
        TEIID30422,
        TEIID30423,
        TEIID30424,
        TEIID30427,
        TEIID30429,
        TEIID30430,
        TEIID30431,
        TEIID30432,
        TEIID30434,
        TEIID30437,
        TEIID30438,
        TEIID30439,
        TEIID30440,
        TEIID30441,
        TEIID30442,
        TEIID30443,
        TEIID30444,
        TEIID30445,
        TEIID30447,
        TEIID30448,
        TEIID30449,
        TEIID30452,
        TEIID30463,
        TEIID30464,
        TEIID30465,
        TEIID30466,
        TEIID30467,
        TEIID30468,
        TEIID30469,
        TEIID30470,
        TEIID30471,
        TEIID30472,
        TEIID30473,
        TEIID30474,
        TEIID30475,
        TEIID30476,
        TEIID30477,
        TEIID30478,
        TEIID30479,
        TEIID30481,
        TEIID30482,
        TEIID30483,
        TEIID30484,
        TEIID30485,
        TEIID30486,
        TEIID30487,
        TEIID30488,
        TEIID30489,
        TEIID30490,
        TEIID30491,
        TEIID30492,
        TEIID30493,
        TEIID30495,
        TEIID30496,
        TEIID30497,
        TEIID30498,
        TEIID30499,
        TEIID30500,
        TEIID30503,
        TEIID30504,
        TEIID30505,
        TEIID30506,
        TEIID30507,
        TEIID30508,
        TEIID30509,
        TEIID30510,
        TEIID30512,
        TEIID30517,
        TEIID30518,
        TEIID30519,
        TEIID30520,
        TEIID30521,
        TEIID30522,
        TEIID30524,
        TEIID30525,
        TEIID30526,
        TEIID30527,
        TEIID30528,
        TEIID30530,
        TEIID30535,
        TEIID30537,
        TEIID30538,
        TEIID30541,
        TEIID30542,
        TEIID30543,
        TEIID30544,
        TEIID30545,
        TEIID30546,
        TEIID30548,
        TEIID30549,
        TEIID30550,
        TEIID30551,
        TEIID30552,
        TEIID30553,
        TEIID30554,
        TEIID30555,
        TEIID30556,
        TEIID30557,
        TEIID30558,
        TEIID30559,
        TEIID30561,
        TEIID30562,
        TEIID30563,
        TEIID30564,
        TEIID30565,
        TEIID30580,
        TEIID30590,
        TEIID30591,
        TEIID30600,
        TEIID30601,
        TEIID30602, //User defined aggregate errors
        TEIID31069,
        TEIID31070,
        TEIID31071,
        TEIID31072,
        TEIID31073,
        TEIID31075,
        TEIID31077,
        TEIID31078,
        TEIID31079,
        TEIID31080,
        TEIID31081,
        TEIID31082,
        TEIID31083,
        TEIID31084,
        TEIID31085,
        TEIID31086,
        TEIID31087,
        TEIID31088,
        TEIID31089,
        TEIID31090,
        TEIID31091,
        TEIID31092,
        TEIID31093,
        TEIID31094,
        TEIID31095,
        TEIID31096,
        TEIID31097,
        TEIID31098, //alter imported
        TEIID31099, //vdb loading
        TEIID31100, //parse exception
        TEIID31101,
        TEIID31102,
        TEIID31103,
        TEIID31104, //recursion limit hit
        TEIID31105, //warning
        TEIID31106, //duplicate param name
        TEIID31107, //too many result params
        TEIID31108, //datasource not available
        TEIID31109, //invalid scripting language
        TEIID31110, //invalid script
        TEIID31111, //invalid teiid script
        TEIID31112, //invalid vararg
        TEIID31113,
        TEIID31114,
        TEIID31115,
        TEIID31116,
        TEIID31117,
        TEIID31118,
        TEIID31119,
        TEIID31120,
        TEIID31121,
        TEIID31122,
        TEIID31123,
        TEIID31124,
        TEIID31125,
        TEIID31126,
        TEIID31127,
        TEIID31128,
        TEIID31129,
        TEIID31130,
        TEIID31131,
        TEIID31132,
        TEIID31133,
        TEIID31134,
        TEIID31135,
        TEIID31136,
        TEIID31137,
        TEIID31138,
        TEIID31139,
        TEIID31140,
        TEIID31141,
        TEIID31142,
        TEIID31143,
        TEIID31144,
        TEIID31145,
        TEIID31146,
        TEIID31147,
        TEIID31148,
        TEIID31149,
        TEIID31150,
        TEIID31151,
        TEIID31152,
        TEIID31153,
        TEIID31154,
        TEIID31155,
        TEIID31156,
        TEIID31157,
        TEIID31158,
        TEIID31159,
        TEIID31160,
        TEIID31161,
        TEIID31162, // Missing proj4 text.
        TEIID31163, // Failed to lookup proj4 text.
        TEIID31164, // Unsupported geometry type.
        TEIID31165,
        TEIID31166,
        TEIID31167,
        TEIID31168, // Unsupported regex flag.
        TEIID31169,  // out of range
        TEIID31170,
        TEIID31171,
        TEIID31172,
        TEIID31173,
        TEIID31174,
        TEIID31175,
        TEIID31176,
        TEIID31177,
        TEIID31178,
        TEIID31179,
        TEIID31190,
        TEIID31191,
        TEIID31192,
        TEIID31193,
        TEIID31194,
        TEIID31195,
        TEIID31196,
        TEIID31197,
        TEIID31198,
        TEIID31199,
        TEIID31200,
        TEIID31201,
        TEIID31202,
        TEIID31203,
        TEIID31204,
        TEIID31205,
        TEIID31206,
        TEIID31207,
        TEIID31208,
        TEIID31209,
        TEIID31210,
        TEIID31211,
        TEIID31212,
        TEIID31213,
        TEIID31214,
        TEIID31215,
        TEIID31216,
        TEIID31217,
        TEIID31218,
        TEIID31219,
        TEIID31220,
        TEIID31221,
        TEIID31222,
        TEIID31223,
        TEIID31224,
        TEIID31225,
        TEIID31226,
        TEIID31227,
        TEIID31228,
        TEIID31229,
        TEIID31230,
        TEIID31231,
        TEIID31232,
        TEIID31233,
        TEIID31234,
        TEIID31235,
        TEIID31236,
        TEIID31237,
        TEIID31238,
        TEIID31239,
        TEIID31240,
        TEIID31241,
        TEIID31242,
        TEIID31243,
        TEIID31244,
        TEIID31246,
        TEIID31247,
        TEIID31248,
        TEIID31249,
        TEIID31250,
        TEIID31251,
        TEIID31252,
        TEIID31253,
        TEIID31254,
        TEIID31255,
        TEIID31256,
        TEIID31257,
        TEIID31258,
        TEIID31259,
        TEIID31260,
        TEIID31261,
        TEIID31262,
        TEIID31263,
        TEIID31264,
        TEIID31265,
        TEIID31266,
        TEIID31267,
        TEIID31268,
        TEIID31269,
        TEIID31270,
        TEIID31271,
        TEIID31272,
        TEIID31273,
        TEIID31274,
        TEIID31275,
        TEIID31276,
        TEIID31277,
        TEIID31278,
        TEIID31279,
        TEIID31280,
        TEIID31281,
        TEIID31282,
        TEIID31283,
        TEIID31284,
        TEIID31285,
        TEIID31286,
        TEIID31287,
        TEIID31288,
        TEIID31289,
        TEIID31290,
        TEIID31291,
        TEIID31292,
        TEIID31293,
        TEIID31294,
        TEIID31295,
        TEIID31296,
        TEIID31297,
        TEIID31298,
        TEIID31299,
        TEIID31300,
        TEIID31301,
        TEIID31302,
        TEIID31303,
        TEIID31304
    }
}
